/*************************************************
  * 描述：年月下拉选择框
  *
  * File：yearmonthwidget.h
  * Author：dongyao@mozihealthcare.cn
  * Date：2025/10/15
  * Update：
  * ************************************************/

#ifndef YEARMONTHWIDGET_H
#define YEARMONTHWIDGET_H

#include <QWidget>
class QStandardItemModel;

QT_BEGIN_NAMESPACE
namespace Ui
{
	class YearMonthWidget;
}
QT_END_NAMESPACE

class YearMonthWidget : public QWidget
{
	Q_OBJECT

public:
	explicit YearMonthWidget(QWidget* parent = nullptr);
	~YearMonthWidget() override;

	/**
	 * @brief 显示年月选择框
	 * @param type 0: 月; 1: 年
	 */
	void showYearMonthWidget(int type);
	/**
	 * @brief 获取当前选择的年月
	 * @return
	 */
	QString convertMonthText(int month);

signals:
	/**
	 * @brief 年月选择框按钮点击信号
	 * @param type 0: 月; 1: 年
	 * @param newValue
	 */
	void yearMonthButtonIsclicked(int type, int newValue);

private slots:
	// 按钮点击事件
	void on_prePushButton_clicked();
	// 关闭按钮点击事件
	void on_closePushButton_clicked();
	// 下一页按钮点击事件
	void on_nextPushButton_clicked();

private:
	void initUI();
	// 更新年数据
	void updateYearModelData();
	// 更新月数据
	void updateMonthModelData();

private:
	Ui::YearMonthWidget* ui;
	QStandardItemModel* m_pDateModel;
	int m_currentYear;
	int m_currentPage;

	QString m_maxYear;
	QString m_minYear;
	QString m_leftTopYear;

	int m_rowCount;
	int m_columnCount;
	QList<QString> m_months;
	int m_dateType;// 0: 月; 1: 年
};

#endif//YEARMONTHWIDGET_H
